1. Field
The present disclosure relates to virtual tapes, and in particular to use of filemarks in virtual tapes.
2. Background Information
One way that has been used historically to store data is with the use of a physical tape library. A physical tape library represents a collection of physical tapes (e.g., physical magnetic tapes). Often a physical tape library may include a large number, for example thousands to hundreds of thousands, of such physical tapes. A robotic arm known as a picker may be used to select the physical tapes from slots and insert them into physical tape drives under electronic control. The physical tape library may be coupled with a network and used for network data storage. Backup software applications or other software (e.g., on network coupled computers) may be configured to use such physical tape libraries.
The physical tape libraries generally employ block or record-based storage organization. For example, 64-kB records, 128-kB records, or other fixed sized blocks of data may be stored. At the end of one or more blocks of data, or for other reasons, the backup application, or other software using the physical tape libraries, may write what is known in the arts as a filemark. In a physical tape, a filemark may simply represent a signature or string of bits that indicate that it is a filemark. The filemark may identify or mark a position separating one or more preceding blocks of data appearing before the filemark from one or more blocks of data following the filemark. Different backup applications may use filemarks to indicate different things, such as, for example, to separate records, logical files, groups of logical files, or for other reasons. Some backup applications (e.g., NetWorker) may also write filemarks for internal consistency purposes. Physical tape libraries and physical tape drives have commands to move around within such filemarks. For example, there are Small Computer System Interface (SCSI) commands to specify go forward on the physical tape ten filemarks, go to the next filemark on the physical tape, go to the previous filemark, go back five filemarks on the physical tape, go to the end of the physical tape and then go back five filemarks from the end of the physical tape, and the like. The physical tape drives actually spin the physical tapes, and reel or unreel the magnetic tape, to move between the filemarks.
FIG. 1 is a block diagram of a representative physical magnetic tape format 100. The tape is illustrated as if it were spread out full length. From the beginning of the tape (on the left as viewed), the physical magnetic tape includes a physical beginning of media (BOM) mark 101, a label 102, a filemark 103-1 after the label and BOM, and a data record 104-1 after the filemark. Generally, along most of its length the physical magnetic tape will have data records 104 separated by filemarks 103. The records may be of various different lengths. The filemarks may be used by software to separate different types of things (e.g., separate logical files, separate groups of logical files, separate records, etc.). Toward the end of the tape (on the right as viewed), the physical magnetic tape may include physical end of tape (PEOT) mark 105.
One drawback to such physical tape libraries is that they rely on robotics or other mechanics to function. As such, physical tape libraries tend to be relatively susceptible to malfunction (e.g., the robotic arms may break, the robot arms may drop physical tapes, etc.). However, existing backup applications and technology has been designed to use physical tape libraries.
Virtual tape libraries provide an alternative to physical tape libraries. The virtual tape libraries appear to be physical tape libraries to the backup applications, or other software that utilize them (e.g., the virtual tape libraries may emulate physical tape libraries). However, the virtual tape libraries typically do not actually store the data on physical magnetic tapes, but rather store the data on one or more hard disk drive arrays, solid state storage devices, or other types of physical storage. This offers an advantage that the virtual tape libraries do not need to rely on the mechanics or robotic arms used for physical tape libraries. Moreover, the backup applications, or other software utilizing the virtual tape library, do not need to know that physical magnetic tapes are not being used for data storage, and do not need to be changed. This helps to avoid modifying existing backup applications and technology that has been designed to use physical tape libraries. As a further advantage, the data stored by a backup application to a virtual tape may be stored as a file of a file system. As such, the virtual tape libraries are generally able to take advantage of advanced file system functionalities, such as improved ability to perform data deduplication, replication, redundancy, segmenting, and/or other file system based technologies.
As mentioned above, the virtual tape library should appear to be and/or should emulate a physical tape library so that the backup applications, or other software using the virtual tape library, do not need to know that they are not using a physical tape library. This includes the handling of filemarks. For example, the virtual tape library should be able to move between filemarks (e.g., in response to commands to move between filemarks supported by the physical tape libraries which the virtual tape library is emulating). For example, the virtual tape libraries should generally be able to handle commands, such as, for example, SCSI SPACE commands to go forward ten filemarks, go to the next filemark, go back five filemarks, or the like.